跳到主要内容

NP 复杂度类

阐述​

NP 是具有多项式验证者的语言集合。等价地,NP 是可以用一个非确定性 Turing 机在多项式时间内判定的问题的集合。

NP=⋃kNTIME⁡(nk)\mathrm{NP}=\bigcup_{k} \operatorname{NTIME}\left(n^{k}\right)

与 P 复杂度类一样,NP 对合乎情理的非确定性计算模型是不变的。

定义 coNP 是所有补集在 NP 中语言的集合。

验证者​

称一个语言 AA 的验证者是 VV,如果

A={w∣V accepts ⟨w,c⟩ for some string c}A=\{w \mid V \text { accepts }\langle w, c\rangle \text { for some string } c\}

多项式时间验证者是能在 ∣w∣|w| 的多项式时间内完成验证的验证者。显然,这要求其中的 cc,也称凭证,的长度必须是多项式的。

称一个语言是多项式可验证的,如果它有一个多项式时间的验证者。

实例​

性质​

相关内容​

NP 和 P 复杂度类的大小关系目前还不清楚。但是可以知道

NP⊆EXPTIME⁡=⋃kTIME⁡(2nk),\mathrm{NP} \subseteq \operatorname{EXPTIME}=\bigcup_{k} \operatorname{TIME}\left(2^{n^{k}}\right),

参考文献​